FTPClient 操作手册


概述

FTP(File Transfer Protocol,文件传输协议)是一种用于在网络上在客户端与服务器之间传输文件的标准网络协议,属于TCP/IP协议族中的应用层协议。核心功能:实现文件的上传(Client->Server)和下载(Server->Client),支持目录操作(列出、创建、删除等)。

使用场景

整体架构

产品组件 描述说明
Client SF4201_FtpClient_1.0.4_amd64.deb FTP Client RTE组件
ftpClient.library FTP Client Master Metafacture 库文件

安装卸载

安装要求

安装过程

工智机端安装FTP Client RTE组件

Metafacture安装library

卸载过程

工智机端卸载FTPClient RTE组件

卸载MetaFacture侧的FTPClient library

技术说明

快速启动

本例软、硬件配置

硬件: 1.SX21工智机 2.Win10 PC

软件: 1.MetaFacutre V1.0.7.1

本例实验要求及原理

实验要求:按照“安装卸载”部分中的“安装过程”配置完成FTPClient环境

实验环境

按照“概述”部分中的“使用场景”搭建测试环境。

本例实验操作步骤

FTP 连接测试

FTP 连接

实验步骤如下:

Connect   	:TMP.FB_FtpConnect ;
ip1 			: STRING(15):='192.168.105.44';   //FTP Server IP_addr
user 		        : STRING(15):='sinsegye';             //FTP Server username
pwd			: STRING(15):='1';		              //FTP Server password
bFTPConnect : BOOL;
handle 		: UINT;
Connect(
sIp:=ip, 
sUser:=user, 
sPwd:=pwd, 
bExecute:=bFTPConnect,
tTimeout:=, 
uHandle=>handle4,
 bError=>, bBusy=>, uErrorId=>);

FTP 断开连接

实验步骤如下:

DisConnect             : TMP.FB_FtpDisconnect;
bDisConnExe	       :BOOL;
DisConnect(
uHandle:=handle , 
bExecute:=bDisConnExe , 
tTimeout:= , 
bError=> , bBusy=> , uErrorId=> , bIsSuccess=> );

FTP 文件夹操作

创建文件夹

实验步骤如下:

bDirCreatExe	:BOOL;
DirCreate	        : TMP.FB_FtpDirCreate;
sDirectory		: STRING(80);
sDirectory		:='Debug';   
DirCreate(
uHandle:=handle, 
sDirectory:=sDirectory, 
bExecute:=bDirCreatExe,
tTimeout:=);

检测文件夹

实验步骤如下:

bDirExistsExe	:BOOL;
DirExists	        : TMP.FB_FtpDirExists;
sDirectory		: STRING(80);
sDirectory		:='Debug';   
DirExists(
uHandle:= handle,
       sDirectory:=sDirectory, 
bExecute:= bDirExistsExe, 
tTimeout:= , 
bError=> , bBusy=> , uErrorId=> , bIsSuccess=> );

文件夹重命名

实验步骤如下:

bDirRenamesExe	:BOOL;
DirRename 	        : TMP.FB_FtpDirRename;
sDirectory		        : STRING(80);
sNewDirName		: STRING(80);
sDirectory		:='Debug';   
sNewDirName  :='Debug_NewName';
DirRename(
uHandle:=handle, 
sDirectory:=sDirectory, 
sNewName:=sNewDirName,
bExecute:=bDirRenamesExe,
tTimeout:= , 
bError=> , bBusy=> , uErrorId=> , bIsSuccess=> );

文件夹移动

实验步骤如下:

bDirMoveExe		:BOOL;
DirMove 	                 : TMP.FB_FtpDirMove;
sDirectory		        : STRING(80);
sDirectory	2		: STRING(80);
sDirectory		:='Debug';   
sDirectory2	:='Debug_01';
DirMove(
uHandle:=handle , 
sDirectory:=sDirectory , 
sTargetDirectory:=sDirectory2 , 
bExecute:=bDirMoveExe ,
tTimeout:= , 
bError=> , bBusy=> , uErrorId=> , bIsSuccess=> );

删除文件夹

实验步骤如下:

bDirRemoveExe	:BOOL;
DirRemove 	        : TMP.FB_FtpDirRemove;
sDirectory		        : STRING(80);
sDirectory		:='Debug';   
DirRemove(
uHandle:=handle , 
sDirectory:=sDirectory , 
bExecute:=bDirRemoveExe ,
tTimeout:= , 
bError=> , bBusy=> , uErrorId=> , bIsSuccess=> );

FTP 文件操作

检测文件

实验步骤如下:

bFileExistsExe	       :BOOL;
FileExists 	               : TMP.FB_FtpFileExists;
FileSourcePath	: STRING(80);
FileSourcePath 	:='Debug/test.txt';  
FileExists(
uHandle:= handle,
       sFilePath:=FileSourcePath, 
bExecute:= bFileExistsExe, 
tTimeout:= , 
bError=> , bBusy=> , uErrorId=> , bIsSuccess=> );

文件重命名

实验步骤如下:

bFileRenamesExe	:BOOL;
FileRename 	: TMP.FB_FtpFileRename;
FileSourcePath	: STRING(80);
FileNewName		: STRING(80);
FileSourcePath 	:='Debug/test.txt';  
FileNewName		:='File_newname.text';
FileRename(
uHandle:=handle, 
sFilePath:=FileSourcePath, 
sNewName:=FileNewName, 
bExecute:=bFileRenamesExe,
tTimeout:= , 
bError=> , bBusy=> , uErrorId=> , bIsSuccess=> );

文件移动

实验步骤如下:

bFileMoveExe	        :BOOL;
FileMove 	                : TMP.FB_FtpFileMove;
FileSourcePath 	:STRING(80); 
TargetDirectory		: STRING(80);
FileSourcePath 	:='Debug/test.txt';  
TargetDirectory		:='/Debug_01'; 
FileMove(
uHandle:=handle, 
sFilePath:=FileSourcePath, 
sTargetDirectory:=TargetDirectory, 
bExecute:=bFileMoveExe ,
tTimeout:= , 
bError=> , bBusy=> , uErrorId=> , bIsSuccess=> );

删除文件

实验步骤如下:

bFileRemoveExe	:BOOL;
FileRemove 	        : TMP.FB_FtpFileRemove;
FileSourcePath 	:STRING(80); 
FileSourcePath 	        :='Debug/test.txt';  
LocalTargetDirectory 	:='/home/sinsegye/test'; // RTE本地文件夹
Download(
uHandle:=handle,
sServerSourcePath:=FileSourcePath, sLocalTargetDirectory:=localTargetDirectory, bExecute:=bdownloadExe,
tTimeout:= , 
bError=> , 
bBusy=> , 
uErrorId=> , 
bIsSuccess=> );

文件下载

实验步骤如下:

bdownloadExe  	         :BOOL;
Download 	                 : TMP.FB_FtpDownload;
FileSourcePath 	         :STRING(80); 
LocalTargetDirectory 	: STRING(80);
FileSourcePath 	        :='Debug/test.txt';  
LocalTargetDirectory 	:='/home/sinsegye/test'; // RTE本地文件夹
Download(
uHandle:=handle,
sServerSourcePath:=FileSourcePath, sLocalTargetDirectory:=localTargetDirectory, bExecute:=bdownloadExe,
tTimeout:= , 
bError=> , 
bBusy=> , 
uErrorId=> , 
bIsSuccess=> );

文件上传

实验步骤如下:

bdownloadExe  	         :BOOL;
Upload 		                 : TMP.FB_FtpUpload;
TargetDirectory 	         :STRING(80); 
LocalTargetDirectory 	: STRING(80);
TargetDirectory			:='/Debug_01'; 
LocalTargetDirectory 	:='/home/sinsegye/test'; // RTE本地文件夹
Upload(
uHandle:=handle,
sLocalSourcePath:=LocalTargetDirectory, sServerTargetDirectory:=TargetDirectory, 
bExecute:=bUploadExe,
tTimeout:= , 
bError=> , 
bBusy=> , 
uErrorId=> , 
bIsSuccess=> );

功能介绍

FTP连接功能块介绍

功能块图形

参数介绍

参数名称 参数类型 描述
sIP string FTP 服务IP
sUser UINT FTP 服务用户名
sPwd BYTE FTP 服务用户密码
bExecute BOOL 上升沿触发执行
tTimeout Time 超时
参数名称 参数类型 描述
uHandle UNIT
bBUSY BOOL 功能块激活时设置,直到确认接收
bError BOOL 如果命令在传输过程中出现错误,则设置true直到bBusy输出被重置
nErrId UDINT 当bError输出被设置,提供错误号
bIsSuccess BOOL 功能成功返回True

FTP断开连接功能块介绍

功能块图形

参数介绍

参数名称 参数类型 描述
uHandle UNIT
bExecute BOOL 上升沿触发执行
tTimeout Time 超时
参数名称 参数类型 描述
bBUSY BOOL 功能块激活时设置,直到确认接收
bError BOOL 如果命令在传输过程中出现错误,则设置true直到bBusy输出被重置
nErrId UDINT 当bError输出被设置,提供错误号
bIsSuccess BOOL 功能成功返回True

FTP创建文件夹功能块介绍

功能块图形

参数介绍

参数名称 参数类型 描述
uHandle UNIT
sDirectory STRING 文件夹名称
bExecute BOOL 上升沿触发执行
tTimeout Time 超时
参数名称 参数类型 描述
bBUSY BOOL 功能块激活时设置,直到确认接收
bError BOOL 如果命令在传输过程中出现错误,则设置true直到bBusy输出被重置
nErrId UDINT 当bError输出被设置,提供错误号
bIsSuccess BOOL 功能成功返回True

FTP文件夹检查功能块介绍

功能块图形

参数介绍

参数名称 参数类型 描述
uHandle UNIT
sDirectory STRING 文件夹名称
bExecute BOOL 上升沿触发执行
tTimeout Time 超时
参数名称 参数类型 描述
bBUSY BOOL 功能块激活时设置,直到确认接收
bError BOOL 如果命令在传输过程中出现错误,则设置true直到bBusy输出被重置
nErrId UDINT 当bError输出被设置,提供错误号
bIsSuccess BOOL True表示存在,False 表示不存在

FTP文件夹重命名功能块介绍

功能块图形

参数介绍

参数名称 参数类型 描述
uHandle UNIT
sDirectory STRING 文件夹名称
sNewName STRING 新文件夹名称
bExecute BOOL 上升沿触发执行
tTimeout Time 超时
参数名称 参数类型 描述
bBUSY BOOL 功能块激活时设置,直到确认接收
bError BOOL 如果命令在传输过程中出现错误,则设置true直到bBusy输出被重置
nErrId UDINT 当bError输出被设置,提供错误号
bIsSuccess BOOL 功能成功返回True

FTP文件夹移动功能块介绍

功能块图形

参数介绍

参数名称 参数类型 描述
uHandle UNIT
sDirectory STRING 文件夹名称
sTargetDirectory STRING 目标文件夹
bExecute BOOL 上升沿触发执行
tTimeout Time 超时
参数名称 参数类型 描述
bBUSY BOOL 功能块激活时设置,直到确认接收
bError BOOL 如果命令在传输过程中出现错误,则设置true直到bBusy输出被重置
nErrId UDINT 当bError输出被设置,提供错误号
bIsSuccess BOOL 功能成功返回True

FTP文件夹移除功能块介绍

功能块图形

参数介绍

参数名称 参数类型 描述
uHandle UNIT
sDirectory STRING 文件夹名称
bExecute BOOL 上升沿触发执行
tTimeout Time 超时
参数名称 参数类型 描述
bBUSY BOOL 功能块激活时设置,直到确认接收
bError BOOL 如果命令在传输过程中出现错误,则设置true直到bBusy输出被重置
nErrId UDINT 当bError输出被设置,提供错误号
bIsSuccess BOOL 功能成功返回True

FTP文件检查功能块介绍

功能块图形

参数介绍

参数名称 参数类型 描述
uHandle UNIT
SFilePath STRING 文件路径+文件名
bExecute BOOL 上升沿触发执行
tTimeout Time 超时
参数名称 参数类型 描述
bBUSY BOOL 功能块激活时设置,直到确认接收
bError BOOL 如果命令在传输过程中出现错误,则设置true直到bBusy输出被重置
nErrId UDINT 当bError输出被设置,提供错误号
bIsSuccess BOOL True表示存在,False 表示不存在

FTP文件重命名功能块介绍

功能块图形

参数介绍

参数名称 参数类型 描述
uHandle UNIT
sFilePath STRING 文件路径+文件名
sNewName STRING 新文件名称
bExecute BOOL 上升沿触发执行
tTimeout Time 超时
参数名称 参数类型 描述
bBUSY BOOL 功能块激活时设置,直到确认接收
bError BOOL 如果命令在传输过程中出现错误,则设置true直到bBusy输出被重置
nErrId UDINT 当bError输出被设置,提供错误号
bIsSuccess BOOL 功能成功返回True

FTP文件移动功能块介绍

功能块图形

参数介绍

参数名称 参数类型 描述
uHandle UNIT
sFilePath STRING 文件路径+文件名
sTargetDirectory STRING 目标文件夹
bExecute BOOL 上升沿触发执行
tTimeout Time 超时
参数名称 参数类型 描述
bBUSY BOOL 功能块激活时设置,直到确认接收
bError BOOL 如果命令在传输过程中出现错误,则设置true直到bBusy输出被重置
nErrId UDINT 当bError输出被设置,提供错误号
bIsSuccess BOOL 功能成功返回True

FTP文件移除功能块介绍

功能块图形

参数介绍

参数名称 参数类型 描述
uHandle UNIT
sFilePath STRING 文件路径+文件名
bExecute BOOL 上升沿触发执行
tTimeout Time 超时
参数名称 参数类型 描述
bBUSY BOOL 功能块激活时设置,直到确认接收
bError BOOL 如果命令在传输过程中出现错误,则设置true直到bBusy输出被重置
nErrId UDINT 当bError输出被设置,提供错误号
bIsSuccess BOOL 功能成功返回True

FTP文件下载功能块介绍

功能块图形

参数介绍

参数名称 参数类型 描述
uHandle UNIT
sServerSourcePath STRING 服务端源路径
sLocalTargetDirectory STRING 本地目标路径
bExecute BOOL 上升沿触发执行
tTimeout Time 超时
参数名称 参数类型 描述
bBUSY BOOL 功能块激活时设置,直到确认接收
bError BOOL 如果命令在传输过程中出现错误,则设置true直到bBusy输出被重置
nErrId UDINT 当bError输出被设置,提供错误号
bIsSuccess BOOL 功能成功返回True

FTP文件上传功能块介绍

功能块图形

参数介绍

参数名称 参数类型 描述
uHandle UNIT
sLocalSourcePath STRING 本地源路径
sServerTargetDirectory STRING 服务端目标路径
bExecute BOOL 上升沿触发执行
tTimeout Time 超时
参数名称 参数类型 描述
bBUSY BOOL 功能块激活时设置,直到确认接收
bError BOOL 如果命令在传输过程中出现错误,则设置true直到bBusy输出被重置
nErrId UDINT 当bError输出被设置,提供错误号
bIsSuccess BOOL 功能成功返回True